{$CLEO .qa}
{$USE CLEO+}
{$USE newOpcodes}
{$USE ini}

0000: NOP

script_name "LIQUORQ"

// By ArtemQa146

const
    ped_1 = 31@
    ped_2 = 30@
    ped_3 = 29@
    progress = 28@
end

//  
0E40: get_current_hour 1@
if or
    1@ >= 21
    1@ < 9
then

    repeat
    wait 0
    04ED: load_animation  "PedEventsMod"
    until 04EE:   animation "PedEventsMod" loaded
    
    model.Load(5422)
    model.Load(71)
    model.Load(334)
    if
        not model.Available(5422)
    then
        repeat
        wait 0
        model.Load(5422)
        until model.Available(5422)
    end
    if
        not model.Available(71)
    then
        repeat
        wait 0
        model.Load(71)
        until model.Available(71)
    end
    if
        not model.Available(334)
    then
        repeat
        wait 0
        model.Load(334)
        until model.Available(334)
    end
    038B: load_requested_models
    0E01: create_object_no_save 5422 at 254.638 -61.7552 1.5703 offset 0 ground 0 to 0@
    0177: set_object 0@ Z_angle_to 90.0
    009A: ped_1 = create_actor_pedtype 4 model 71 at 246.8304 -55.1394 1.5808
    0173: set_actor ped_1 Z_angle_to 176.9153
    0E24: fix_char ped_1 ground 1 brightness 1 and_fade_in 0
    0812: AS_actor ped_1 perform_animation "chef_2" IFP "PedEventsMod" framedelta 2.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1  // versionB
    01B2: give_actor ped_1 weapon 3 ammo 1 // Load the weapon model before using this
    model.Destroy(5422)
    model.Destroy(71)
    model.Destroy(334)
    04EF: release_animation "PedEventsMod"
    progress = 0
    
    repeat
    wait 0
    if
        056D:   actor ped_1 defined
    then
        if or
            0EE4: locate_char_distance_to_char $player_actor char ped_1 radius 3.0
            0EEA: locate_char_distance_to_coordinates $player_actor pos 249.9886 -56.8503 1.5703 radius 4.0
        then
            if
                progress == 0
            then
                progress = 1
                05E2: AS_actor ped_1 kill_actor $player_actor
            end
        end

    end
    until not locate_char_distance_to_coordinates $player_actor pos 252.4777 -54.8283 1.5783 radius 120.0
    if 03CA:   object 0@ exists
    then 0108: destroy_object 0@
    end
    if 056D:   actor ped_1 defined
    then 01C2: remove_references_to_actor ped_1 // Like turning an actor into a random pedestrian
    end
    0A93: terminate_this_custom_script
end


            repeat
            wait 0
            04ED: load_animation  "PedEventsMod"
            until 04EE:   animation "PedEventsMod" loaded
            
            0209: 1@ = random_int_in_ranges 1 3

            if
                1@ == 1
            then
                0376: ped_1 = create_random_actor_at 251.9764 -58.2694 1.5703
                0173: set_actor ped_1 Z_angle_to 182.6751
                0E24: fix_char ped_1 ground 1 brightness 1 and_fade_in 0
                089F: get_actor ped_1 pedtype_to 2@
                0812: AS_actor ped_1 perform_animation "liquor_ped1" IFP "PedEventsMod" framedelta 2.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1  // versionB
            
                0376: ped_3 = create_random_actor_at 244.8216 -60.0684 1.5769
                0173: set_actor ped_3 Z_angle_to 88.9876
                0E24: fix_char ped_3 ground 1 brightness 1 and_fade_in 0
                089F: get_actor ped_3 pedtype_to 2@
                0812: AS_actor ped_3 perform_animation "liquor_ped2" IFP "PedEventsMod" framedelta 2.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1  // versionB
            else
                0376: ped_1 = create_random_actor_at 244.4273 -57.9928 1.5792
                0173: set_actor ped_1 Z_angle_to 90.5333
                0E24: fix_char ped_1 ground 1 brightness 1 and_fade_in 0
                089F: get_actor ped_1 pedtype_to 2@
                0812: AS_actor ped_1 perform_animation "liquor_ped1" IFP "PedEventsMod" framedelta 2.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1  // versionB

                0376: ped_3 = create_random_actor_at 249.9056 -60.669 1.5703
                0173: set_actor ped_3 Z_angle_to 357.3157
                0E24: fix_char ped_3 ground 1 brightness 1 and_fade_in 0
                089F: get_actor ped_3 pedtype_to 2@
                0812: AS_actor ped_3 perform_animation "liquor_ped1" IFP "PedEventsMod" framedelta 2.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1  // versionB
            end

            model.Load(91)
            038B: load_requested_models
            009A: ped_2 = create_actor_pedtype 5 model 91 at 252.4777 -54.8283 1.5783
            0173: set_actor ped_2 Z_angle_to 183.1217
            0E24: fix_char ped_2 ground 1 brightness 1 and_fade_in 0
            0812: AS_actor ped_2 perform_animation "liquor_cas" IFP "PedEventsMod" framedelta 2.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1  // versionB
            model.Destroy(91)

            04EF: release_animation "PedEventsMod"

            1@ = 0
            timera = 0

            repeat
            wait 0
            if and
                056D:   actor ped_1 defined
                056D:   actor ped_2 defined
                056D:   actor ped_3 defined
            then

                if or
                    not locate_char_distance_to_coordinates $player_actor pos 252.4777 -54.8283 1.5783 radius 120.0
                    051A:   actor ped_1 damaged_by_actor $PLAYER_ACTOR
                    0118:   actor ped_1 dead
                    051A:   actor ped_2 damaged_by_actor $PLAYER_ACTOR
                    0118:   actor ped_2 dead
                then
                    01C2: remove_references_to_actor ped_1 // Like turning an actor into a random pedestrian
                    01C2: remove_references_to_actor ped_2 // Like turning an actor into a random pedestrian
                    01C2: remove_references_to_actor ped_3 // Like turning an actor into a random pedestrian
                    repeat
                    wait 0
                    until not locate_char_distance_to_coordinates $player_actor pos 252.4777 -54.8283 1.5783 radius 120.0
                    break
                end

                if or
                    051A:   actor ped_3 damaged_by_actor $PLAYER_ACTOR
                    0118:   actor ped_3 dead
                then
                    01C2: remove_references_to_actor ped_1 // Like turning an actor into a random pedestrian
                    01C2: remove_references_to_actor ped_2 // Like turning an actor into a random pedestrian
                    01C2: remove_references_to_actor ped_3 // Like turning an actor into a random pedestrian
                    repeat
                    wait 0
                    until not locate_char_distance_to_coordinates $player_actor pos -1648.5743 1207.5776 7.2 radius 120.0
                    break
                end

                080E: get_actor ped_1 ped_event_to 1@
                080E: get_actor ped_2 ped_event_to 2@
                080E: get_actor ped_3 ped_event_to 3@
                if or
                    1@ == 49
                    1@ == 9
                    2@ == 49
                    2@ == 9
                    3@ == 49
                    3@ == 9
                then
                    01C2: remove_references_to_actor ped_1 // Like turning an actor into a random pedestrian
                    01C2: remove_references_to_actor ped_2 // Like turning an actor into a random pedestrian
                    01C2: remove_references_to_actor ped_3 // Like turning an actor into a random pedestrian
                    repeat
                    wait 0
                    until not locate_char_distance_to_coordinates $player_actor pos -1648.5743 1207.5776 7.2 radius 120.0
                    break
                end

                if or
                    0457:   player $PLAYER_CHAR aiming_at_actor ped_1
                    0457:   player $PLAYER_CHAR aiming_at_actor ped_2
                    0457:   player $PLAYER_CHAR aiming_at_actor ped_3
                then
                    0E83: get_current_char_weaponinfo $PLAYER_ACTOR store_to 1@
                    0E89: get_weaponinfo_fire_type 1@ store_to 2@ //     
                    if or
                        2@ == 1 //  
                        2@ == 3 //   (  ..)
                    then
                        01C2: remove_references_to_actor ped_1 // Like turning an actor into a random pedestrian
                        01C2: remove_references_to_actor ped_2 // Like turning an actor into a random pedestrian
                        01C2: remove_references_to_actor ped_3 // Like turning an actor into a random pedestrian
                        repeat
                        wait 0
                        until not locate_char_distance_to_coordinates $player_actor pos 252.4777 -54.8283 1.5783 radius 120.0
                        break
                    end
                end


            else
                break
            end
            until not player.Defined(0)
            if 056D:   actor ped_1 defined
            then 01C2: remove_references_to_actor ped_1 // Like turning an actor into a random pedestrian
            end
            if 056D:   actor ped_2 defined
            then 01C2: remove_references_to_actor ped_2 // Like turning an actor into a random pedestrian
            end
            if 056D:   actor ped_3 defined
            then 01C2: remove_references_to_actor ped_3 // Like turning an actor into a random pedestrian
            end
            repeat
            wait 0
            until not locate_char_distance_to_coordinates $player_actor pos 252.4777 -54.8283 1.5783 radius 120.0

0A93: terminate_this_custom_script
